1. Field of the Invention
The present invention relates to methods and systems that enable efficient deployment of applications that require provisioning of services and portability to one or more cloud serving infrastructures.
2. Description of the Related Art
The explosive growth of the computing industry has resulted in a rise in the number of applications that require provisioning to enable their launch in one or more environments (e.g., cloud services). Such applications include business applications, social media applications, gaming applications, etc., that may be designed for different hardware/software platforms. Sometimes, applications that are originally provisioned to launch in one specific environment may need to be launched in a different environment. In order for the applications to successfully launch in another or in different environments, an application developer will be required to identify/specify necessary and minimal hardware, software resources required for successful execution of the application in each environment and for other re-provisioning.
Unfortunately, it is very common that the developers/provisioning engineers that designed the requirements for the original launch may no longer work for the same entity or it may be determined that originally assigned resources may be outdated or replaced over time. As a result, it is often very difficult to maintain older applications and to migrate applications to different launching environments, which may have completely different resources, provisioning rules and other operational requirements.
Migration of the application, for example, may include switching from one cloud service having a first set of resources to a second cloud service having a second set of resources, which are different from the first set of resources. The need to switch may be driven by cost, performance, usage, resource availability, etc., and the change may be necessitated to make the application execution environment more cost-effective, while making optimal and effective use of the environmental resources. In order to successfully run the application in the new environment, a lot of re-engineering must take place to ensure that the minimal resource requirements are met within the new environment and resource/service dependencies are in place and clearly defined. Usually, such changes to the application environment are carried out manually. Unfortunately, but very commonly, manual verification may lead to undesired results and excessive re-engineering as there is a higher probability of details being overlooked or lost, in addition to, not being cost-effective.
It is in this context that embodiments of the invention arise.